/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package android.reasons;

import android.app.Activity;
import android.app.ContextoAndroid;
import android.app.Mensaje;
import android.entidades.Cronometro;
import android.entidades.Voz;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Spinner;
import android.widget.TextView;

/**
 *
 * @author efraingutierrez
 */
public class Configuracion extends Activity implements OnClickListener
{ 
    private LinearLayout abs;
    private ImageButton accept;
    private EditText etTiempo;
    private Spinner spinner;
    private CheckBox cvVoice;
    public static String algo;
    
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        ContextoAndroid.context = this;
        this.setContentView(R.layout.configuration);
        abs = (LinearLayout)this.findViewById(R.id.absConf);
        abs.setBackgroundResource(R.drawable.turquesa);
        accept = (ImageButton)this.findViewById(R.id.btnOkConf);
        etTiempo = (EditText)this.findViewById(R.id.etTiempo);
        cvVoice = (CheckBox)this.findViewById(R.id.cbVoz);
        spinner = (Spinner)this.findViewById(R.id.spinner);
        accept.setOnClickListener(this);
        Typeface font = Typeface.createFromAsset(getAssets(), "abril.ttf");
        for (int i = 0; i < abs.getChildCount(); i++) 
        {
            View v = abs.getChildAt(i);
            if (v instanceof EditText) 
            {
                ((EditText)v).setTypeface(font);
            } else if (v instanceof TextView) {
                ((TextView)v).setTypeface(font);
            } 
        }
        cvVoice.setChecked(Voz.getVoz().equals("1"));
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.spvalues, R.layout.spinner_item);
        adapter.setDropDownViewResource(R.layout.spinner_dropdown);
        spinner.setAdapter(adapter);
        setTime();
    }
   
    public void onClick(View arg0) 
    {
        final String tiempo = etTiempo.getText().toString();
                               
        if(validar())
        {    
            Voz.saveVoz(cvVoice.isChecked()? "1" : "0");
            int minutos = Integer.parseInt(tiempo);
            switch(spinner.getSelectedItemPosition())
            {
                case 1:
                    minutos *= 60;
                    break;
                case 2:
                    minutos *= (24*60);
                    break;
            }
            Cronometro.updateCronometro(minutos);
            Mensaje.Mostrar("Se Ha Configurado el Tiempo de Alerta");
        }
    }
    
    private Boolean validar()
    {
        String tiempo = etTiempo.getText().toString(); 
        if(tiempo.equals(""))
        {
            Mensaje.Mostrar("El Valor del campo de texto no puede estar vacìo");
            return false;
        }
        
        try
        {
            Integer.parseInt(tiempo);
            return true;
        }
        catch(Exception e)
        {
            Mensaje.Mostrar("El valor del campo de texto no es un nùmero vàlido");
            return false;
        }
    }

    private void setTime()
    {
        
        int minutos = Cronometro.getMinutos();
        
        int hora = 60;
        int dia = 1440;
        int caso = 0;
        if(minutos%dia == 0)
        {
            etTiempo.setText(""+(minutos/dia));
            caso = 2;
        }
        else if(minutos%hora==0)
        {
            etTiempo.setText(""+(minutos/hora));
            caso = 1;
        }
        else
        {
            etTiempo.setText(""+minutos);
            caso = 0;
        }
        spinner.setSelection(caso);
    }
}
